package com.cssw.fyzb.core.eao.video;

import com.cssw.fyzb.core.model.eos.VideoEo;
import com.ydn.dbframe.plugin.activerecord.Page;

import java.util.Date;

/**
 * @author Feng Chen
 */
public interface VideoEao {

    /**
     * 添加视频信息
     *
     * @param userId
     * @param vedioId
     * @param title
     * @param media
     * @param city
     * @param lat
     * @param lng
     * @param createTime
     */
    void save(
            Long userId, Long vedioId, String title, String media, String cover, String city, String lat, String lng, Integer createTime
            , Integer musicId, String musicTitle, String musicAuthor, String musicImgUrl, String musicLength, String musicFileUrl,
            String musicFormat, String anyway, Integer classId);

    /**
     * 根据用户 - 分页查询视频信息
     *
     * @param pageNumber
     * @param pageSize
     * @param userIds
     * @return
     */
    Page<VideoEo> pageByUserIds(int pageNumber, int pageSize, Long... userIds);

    /**
     * 根据城市 - 分页查询视频信息
     *
     * @param pageNumber
     * @param pageSize
     * @param city
     * @param lat
     * @param lng
     * @return
     */
    Page<VideoEo> pageByCity(int pageNumber, int pageSize, String city, String lat, String lng);

    /**
     * 根据发现 - 分页查询视频信息
     *
     * @return
     */
    Page<VideoEo> pageByFound(int pageNumber, int pageSize);


    /**
     * 查询最新的视频信息
     *
     * @param pageNumber
     * @param pageSize
     * @return
     */
    Page<VideoEo> page(int pageNumber, int pageSize);

    /**
     *  删除视频
     * @param id
     * @param createDate
     */
    long deleteById(Long id, Date createDate);
}
